-- By: Moieo
-- 主题
-- vim.cmd([[colorscheme tokyonight-storm]])
--
-- vim.opt.termguicolors = true
-- 显示行号
vim.o.number = true
-- 高亮光标所在列
-- vim.o.cursorcolumn
-- tab 宽度
vim.o.tabstop = 2
-- 高亮光标所在行
vim.o.cursorline = true
-- 自动缩进时,缩进长度
vim.o.shiftwidth = 2
-- 输入Tab字符时,自动替换成空格
-- vim.o.expandtab = true
-- 自动缩进
vim.o.autoindent = true
-- softtabstop的值为负数,会使用shiftwidth的值,两者保持一致,方便统一缩进.
vim.o.softtabstop = -1
-- 空格代替tab
vim.cmd([[set expandtab]])
-- 取消自动折行
vim.cmd([[set nowrap]])
-- 语法检查
vim.cmd([[syntax on]])

-- 鼠标拖动
vim.cmd([[set mouse-=i]])

-- 对齐线
vim.g["indentLine_enabled"] = 1
vim.g["indentLine_char"] = "┊"
vim.g["indentLine_conceallevel"] = 2

-- 语法高亮
-- Python
vim.g["python_highlight_all"] = 1
-- Vue
vim.g["vue_pre_processors"] = { "pug", "scss" }

-- 恢复缓冲区光标位置
vim.api.nvim_create_autocmd("BufReadPost", {
  pattern = "*",
  callback = function()
    if vim.fn.line("'\"") > 0 and vim.fn.line("'\"") <= vim.fn.line("$") then
      vim.fn.setpos(".", vim.fn.getpos("'\""))
      vim.cmd("silent! foldopen")
    end
  end,
})

-- 保存时格式化代码
vim.api.nvim_create_autocmd("BufWritePre", {
  pattern = "*",
  callback = function() end,
})

-- 初始化键位映射
require("keybindings").setup()
